// components/SellPage/salesman/salesman.js
import {salesman,getProductNav} from "../../../network/market"
Component({
  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    beginDate: "开始时间",
    endDate:"结束时间",

    // 业务员列表
    salesmanList:[],
    // 业务员信息
    salesmanInfo:[],
    // 导航数据 //
    // 名称
    personnel:[{text:"名称",value:0}],
    // 客户名
    customer: [{text:"客户名",value:0}],
    // 材料名称
    productName: [{text:"材料名称",value:0}],
    // 品种规格
    standards: [{text:"品种规格",value:0}],
    // 封装方式
    packMethod: [{text:"封装方式",value:0}],
    // 选项列值
    screen: {
      personnelNum:0,
      customerNum: 0,
      productNameNum: 0,
      standardsNum: 0,
      packMethodNum: 0
    }
    
  },
 // 结构完成加载生命周期
 attached() {
  // 获取业务员数据
 this._salesman()
 // 获取筛选项
 this._getProductNav()
},
  /**
   * 组件的方法列表
   */
  methods: {
    beginDate(){
      this.setData({
        beginDate:"开始时间"
      })
    },
    endDate(){
      console.log("取消了");
      this.setData({
        endDate:"结束时间"
      })
    },
   // 改变开始时间时触发
   beginDateChange: function (e) {
    this.setData({
      beginDate: e.detail.value
    })
  },
  // 改变结束时间时触发
  endDateChange: function (e) {
    this.setData({
      endDate: e.detail.value
    })
  },

    //业务员数据请求
    async _salesman(){
      const data={
        type:"1"
      }
      const res =await salesman(data)
      if(res.code===200){
        for(let key in res.data.personnel_result){
          this.setData({
            personnel:this.data.personnel.concat({
              id:res.data.personnel_result[key]["id"],
              text:res.data.personnel_result[key]["name"],
              value:+key+1
            })
          })
        }
      this.setData({
        salesmanList:res.data.personnel_result,
        salesmanInfo:res.data.analyse_services
      })  
      }
     
    },
    // 筛选项数据请求
    async _getProductNav() {
      const res = await getProductNav()
      if (res.code === 200) {
        // 传入两个参数
        this.customerNav(res.data.customer, "customer")
        this.assignNav(res.data.product.standards, "standards")
        this.assignNav(res.data.product.product_name, "productName")
        this.assignNav(res.data.product.pack_method, "packMethod")
      }
    },
    a(){
      console.log("a打印",this.data.customer);
    },
    // 客户名单独处理函数
    customerNav(arr,cate){
      for(let key in arr){
        this.setData({
          customer:this.data.customer.concat({
            id:arr[key]["id"],
            text:arr[key]["customer_name"],
            value:+key+1
          })
        })
      }
    },
    // 对产品导航进行数据处理
    assignNav(arr, cate) {
      var newArr = []
      for (let key in arr) {
        newArr.push(arr[key])
      }
      // 数组去重
      let anewArr = Array.from(new Set(newArr))
      anewArr.forEach((res, index, ) => {
        this.setData({
          [cate]: this.data[cate].concat({
            // text: arr[Object.keys(arr[index])],
            text: res,
            value: index+1
          })
        })
      });
    },
    // 下拉选择时触发
    async handleDownMenu(e) {
      // 改变索引值
      const {
        type
      } = e.currentTarget.dataset
      this.setData({
        [`screen.${type}`]: e.detail
      })
      this.getProductList()
      console.log("改变索引值",type,e.detail);
    },
    // 重新发送数据请求
    async getProductList() {
      const {
        // supplyerCompany,
        personnel,
        customer,
        standards,
        productName,
        packMethod
      } = this.data
      const {
        personnelNum,
        // supplyerCompanyNum,
        customerNum,
        standardsNum,
        productNameNum,
        packMethodNum
      } = this.data.screen
      const data = {
        // 公司名称
        // supplyerCompany:supplyerCompanyNum==0?'': supplyerCompany[supplyerCompanyNum].text,
        type:"1",
        auth_id:personnelNum==0?'':personnel[personnelNum].id,
        customer_id:customerNum==0?'':customer[customerNum].id,
        product_name:productNameNum==0?'': productName[productNameNum].text,
        standards:standardsNum==0?'': standards[standardsNum].text,
        pack_method:packMethodNum==0?'': packMethod[packMethodNum].text,
        start_date:this.data.beginDate=="开始时间"?'':this.data.beginDate,
        end_date:this.data.endDate=="结束时间"?'':this.data.endDate
      }
      const res = await salesman(data)
      if (res.code === 200) {
        this.setData({
          salesmanInfo: res.data.analyse_services
        })
      }
      console.log("personnel",this.data.personnel,personnelNum);
    }
  }
})
